package com.example.pcbcsmbackend.repository;

import com.example.pcbcsmbackend.entity.Product;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ProductRepository extends JpaRepository<Product, Integer> {
    // 根据分类ID查找商品
    List<Product> findByCategoryId(Integer categoryId);
    
    // 根据商品名模糊查询
    List<Product> findByProductNameContaining(String productName);
    
    // 查找有库存的商品
    List<Product> findByStockGreaterThan(Integer stock);
    
    // 查找热门商品（可以根据销量等指标，这里简单按ID排序取前几个）
    @Query("SELECT p FROM Product p ORDER BY p.productId DESC")
    List<Product> findTopProducts();
    
    // 根据价格范围查找商品
    @Query("SELECT p FROM Product p WHERE p.price BETWEEN :minPrice AND :maxPrice")
    List<Product> findByPriceBetween(@Param("minPrice") java.math.BigDecimal minPrice, 
                                    @Param("maxPrice") java.math.BigDecimal maxPrice);
} 